computedvalues: Add to_string() and print() functions
authorBenjamin Otte <otte@redhat.com>
Tue, 21 Oct 2014 00:29:03 +0000 (02:29 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 21 Oct 2014 01:03:28 +0000 (03:03 +0200)
The functions are unused. But they are very convenient to use from a
debugger, if you know what I mean...

gtk/gtkcsscomputedvalues.c
gtk/gtkcsscomputedvaluesprivate.h

index 6f7d368b6ba052dc8dd0e07e9f98c24a89ca554e..52d6e5e7b3b6d92e2553ccb43528844df2285500 100644 (file)
@@ -28,6 +28,7 @@
 #include "gtkcssinheritvalueprivate.h"
 #include "gtkcssinitialvalueprivate.h"
 #include "gtkcssnumbervalueprivate.h"
+#include "gtkcsssectionprivate.h"
 #include "gtkcssshorthandpropertyprivate.h"
 #include "gtkcssstringvalueprivate.h"
 #include "gtkcssstylepropertyprivate.h"
@@ -627,3 +628,43 @@ _gtk_css_computed_values_compute_dependencies (GtkCssComputedValues *values,
   return changes;
 }
 
+void
+gtk_css_computed_values_print (GtkCssComputedValues *values,
+                               GString              *string)
+{
+  guint i;
+
+  g_return_if_fail (GTK_IS_CSS_COMPUTED_VALUES (values));
+  g_return_if_fail (string != NULL);
+
+  for (i = 0; i < _gtk_css_style_property_get_n_properties (); i++)
+    {
+      GtkCssSection *section = _gtk_css_computed_values_get_section (values, i);
+      g_string_append (string, _gtk_style_property_get_name (GTK_STYLE_PROPERTY (_gtk_css_style_property_lookup_by_id (i))));
+      g_string_append (string, ": ");
+      _gtk_css_value_print (_gtk_css_computed_values_get_value (values, i), string);
+      g_string_append (string, ";");
+      if (section)
+        {
+          g_string_append (string, " /* ");
+          _gtk_css_section_print (section, string);
+          g_string_append (string, " */");
+        }
+      g_string_append (string, "\n");
+    }
+}
+
+char *
+gtk_css_computed_values_to_string (GtkCssComputedValues *values)
+{
+  GString *string;
+
+  g_return_val_if_fail (GTK_IS_CSS_COMPUTED_VALUES (values), NULL);
+
+  string = g_string_new ("");
+
+  gtk_css_computed_values_print (values, string);
+
+  return g_string_free (string, FALSE);
+}
+
index f70d39736ae9ba6b920474c52743214d5ea3e802..059caee845a09a892d6c4f19747fda218e578777 100644 (file)
@@ -102,6 +102,10 @@ GtkBitmask *            _gtk_css_computed_values_advance              (GtkCssCom
 void                    _gtk_css_computed_values_cancel_animations    (GtkCssComputedValues     *values);
 gboolean                _gtk_css_computed_values_is_static            (GtkCssComputedValues     *values);
 
+char *                  gtk_css_computed_values_to_string             (GtkCssComputedValues     *values);
+void                    gtk_css_computed_values_print                 (GtkCssComputedValues     *values,
+                                                                       GString                  *string);
+
 G_END_DECLS
 
 #endif /* __GTK_CSS_COMPUTED_VALUES_PRIVATE_H__ */